#pragma once

#include "Vector3D.h"

class KeyFrame
{
public:
	KeyFrame(DATA_TYPE _fTime, const CVector3D& _vPosition)
	: fTime(_fTime)
	, vPosition(_vPosition)
	{
	}

	DATA_TYPE fTime;
	CVector3D vPosition;

};

class CTimeController
{
public:
	CTimeController(void);
	virtual ~CTimeController(void);

	CVector3D EvaluatePosition(DATA_TYPE fTime) const;
	void AddKey(DATA_TYPE fTime, const CVector3D& vPosition);

protected:
	vector<KeyFrame> m_vKeyFrames;

};

typedef boost::shared_ptr<CTimeController> CTimeControllerPtr;